const productName = '信访办理小助手';

module.exports = {
  publicPath: "./",
  devServer: {
    host: "0.0.0.0",
    port: 8080,
  },
  pages: {
    index: {
      entry: "src/renderer/main.ts",
      template: "public/index.html",
      filename: "index.html",
      title: "vue-cli-electron",
      chunks: ["chunk-vendors", "chunk-common", "index"],
    },
    // loader: 'src/loader/main.ts' // 多页loader页
  },
  pluginOptions: {
    electronBuilder: {
      nodeIntegration: true, // 渲染进程可以使用node模块
      mainProcessFile: "src/main/index.ts", // 主进程入口文件
      mainProcessWatch: ["src/main"], // 检测主进程文件在更改时将重新编译主进程并重新启动
      builderOptions: {
        asar: false,
        productName: `${productName}`, // 项目名,这也是生成的exe文件的前缀名
        appId: "com.electron.template", // 应用程序id
        copyright: "Copyright © template", // 应用程序版权行
        directories: {
          output: "dist_electron", // 打包输出的目录，相对于项目根路径
        },
        win: {
          legalTrademarks: "Copyright © template", // 商标注册
          publisherName: "electron", // 发行者名称，与代码签名证书中的名称完全相同
          requestedExecutionLevel: "highestAvailable", // 应用程序请求执行的安全级别。
          verifyUpdateCodeSignature: false, // 禁用更新签名
          target: [
            {
              target: "nsis", // 目标包类型
            },
          ],
          // 没有配置 nsis 的时候的安装包名，此配置项会被 nsis 覆盖
          // artifactName: `${productName}.exe`,
          icon: "./public/images/xffz.ico", // 图标路径，安装包和免安装程序都会应用
        },
        linux: {
          target: ["deb"],
          artifactName: `${productName}.dmg`,
          icon: "./build/icons",
          desktop:{
            Icon:"/usr/share/icons/hicolor/512x512/apps/electron-vue.png"
          }
        },
        deb: {
          artifactName: `${productName}`,
        },
        nsis: {
          // 创建一键安装程序还是辅助安装程序
          oneClick: false,
          // 是否允许用户更改安装目录。
          allowToChangeInstallationDirectory: true,
          // 是否为辅助安装程序显示安装模式安装程序页(选择每台计算机或每用户)。或者是否总是按所有用户(每台机器)安装
          perMachine: true,
          // 允许申请提升。如果为false，用户将不得不以提升的权限重启安装程序
          allowElevation: true,
          // 打出的安装包名称，默认 ${productName} Setup ${version}.${ext}，${productName} 对应productName 或 package.json 中的name， ${version}对应 package.json 中的 version
          artifactName: `${productName}-V${"1.0.0"}.exe`,
          // 完成后是否运行已安装的应用程序。对于辅助安装程序，相应的复选框将被删除
          runAfterFinish: true,
          // 用于所有快捷方式的名称。默认为应用程序名称，即 productName 的值，如果 productName 没有设置，则默认是 package.json 中的 name，如果name 也没有设置，将报错
          shortcutName: `${productName}`,
          include: './public/installer.nsh',          
        },
        publish: [
          {
            provider: "generic",
            url: "http://172.16.103.13:8000",
          },
        ],
      },
    },
  },
};
